package com.qckj.amz.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.qckj.common.annotation.Excel;
import com.qckj.common.core.domain.BaseEntity;
import lombok.Data;

import javax.persistence.*;
import java.util.Date;

/**
 * 上传任务对象 t_product_amz_upload_task
 *
 * @author luchuan
 * @since 1.0 2022-11-25
 */
@Entity
@Table(name = "t_product_amz_upload_task")
@Data
public class ProductAmzUploadTask extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 主键自增 */
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Id
    @Column(name="id")
    private Long id;

    /** 上传代码 */
    @Excel(name = "上传代码")
    @Column(name="upload_code")
    private String uploadCode;

    /** 批次代码 */
    @Excel(name = "批次代码")
    @Column(name="upload_code_batch")
    private String uploadCodeBatch;

    /** 站点代码 */
    @Excel(name = "站点代码")
    @Column(name="country_code")
    private String countryCode;

    /** 市场编号 */
    @Column(name="marketplace_id")
    private String marketplaceId;

    /**
     * 产品代码s,使用 , 进行拼接
     * StringUtils.strip(productCodes.toString(),"[]")
     */
    @Excel(name = "产品代码")
    @Column(name="product_codes")
    private String productCodes;

    /** 产品主图s,使用 | 进行拼接*/
    @Excel(name = "产品主图")
    @Column(name="main_image_urls")
    private String mainImageUrls;

    /** 店铺代码 */
    @Excel(name = "店铺代码")
    @Column(name="shop_code")
    private String shopCode;

    /**
     * 任务状态
     * 多级字典配置qc_task_status
     */
    @Column(name="task_status")
    private String taskStatus;

    /** 产品状态 */
    @Excel(name = "产品状态")
    @Column(name="product_feed_status")
    private String productFeedStatus;

    /** 库存状态 */
    @Excel(name = "库存状态")
    @Column(name="inventory_feed_status")
    private String inventoryFeedStatus;

    /** 价格状态 */
    @Excel(name = "价格状态")
    @Column(name="pricing_feed_status")
    private String pricingFeedStatus;

    /** 图片状态 */
    @Excel(name = "图片状态")
    @Column(name="productimage_feed_status")
    private String productimageFeedStatus;

    /** 关系状态 */
    @Excel(name = "关系状态")
    @Column(name="relationship_feed_status")
    private String relationshipFeedStatus;

    /** 产品XML */
    @Column(name="product_feed_xml")
    private String productFeedXml;

    /** 库存XML */
    @Column(name="inventory_feed_xml")
    private String inventoryFeedXml;

    /** 价格XML */
    @Column(name="pricing_feed_xml")
    private String pricingFeedXml;

    /** 图片XML */
    @Column(name="productimage_feed_xml")
    private String productimageFeedXml;

    /** 关系XML */
    @Column(name="relationship_feed_xml")
    private String relationshipFeedXml;

    /** 产品响应FeedId */
    @Column(name="product_feed_id")
    private String productFeedId;

    /** 库存响应FeedId */
    @Column(name="inventory_feed_id")
    private String inventoryFeedId;

    /** 价格响应FeedId */
    @Column(name="pricing_feed_id")
    private String pricingFeedId;

    /** 图片响应FeedId */
    @Column(name="productimage_feed_id")
    private String productimageFeedId;

    /** 关系响应FeedId */
    @Column(name="relationship_feed_id")
    private String relationshipFeedId;

    /** 产品响应 */
    @Column(name="product_feed_response")
    private String productFeedResponse;

    /** 库存响应 */
    @Column(name="inventory_feed_response")
    private String inventoryFeedResponse;

    /** 价格响应 */
    @Column(name="pricing_feed_response")
    private String pricingFeedResponse;

    /** 图片响应 */
    @Column(name="productimage_feed_response")
    private String productimageFeedResponse;

    /** 关系响应 */
    @Column(name="relationship_feed_response")
    private String relationshipFeedResponse;

    /** 上传时间 */
    @Column(name="upload_time")
    private Date uploadTime;

    /**
     * 获取报告时间
     */
    @Column(name="report_time")
    private Date reportTime;

    /** 创建人 */
    @Column(name="create_by")
    private String createBy;

    /** 创建时间 */
    @Column(name="create_time")
    private Date createTime;

    /** 更新人 */
    @Excel(name = "更新人")
    @Column(name="update_by")
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    @Column(name="update_time")
    private Date updateTime;

    /** 更新时间-开始  -查询条件 ，当前自动仅作为前端查询条件，供jpa自动生成的between方法使用，禁止在其他方法中使用该属性*/
    @Transient  //临时变量,不进行序列化
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date beginUpdateTime;//最小值1999-12-30 23:59:59

    /** 更新时间-截止  -查询条件 ，当前自动仅作为前端查询条件，供jpa自动生成的between方法使用，禁止在其他方法中使用该属性*/
    @Transient  //临时变量,不进行序列化
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endUpdateTime;//最大值2099-12-30 23:59:59

    /** 备注 */
    @Excel(name = "备注")
    @Column(name="remark")
    private String remark;


}
